<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>请求重复问题</title>
</head>
<body>
  <button>点击发送请求</button>
</body>
<style>
  #result {
    width: 200px;
    height: 100px;
    border: solid 1px #258;
  }
</style>
<script>
  const btn = document.querySelectorAll('button')
  let xhr = null
  let isSending = false
  btn[0].onclick = function () {
    // 判断标识变量，如果正在发送，则取消该请求，创建一个新的请求
    if(isSending) {
      xhr.abort()
    }
    xhr = new XMLHttpRequest()
    // 修改标识变量的值
    isSending = true
    xhr.open('GET', 'http://127.0.0.1:8000/delay')
    xhr.send()
    xhr.onreadystatechange = function (){
      if(xhr.readyState === 4){
        // 修改标识变量
        isSending = false
      }
    }
  }
</script>
</html>